1. Field of Invention
The present invention relates generally to computer memory systems, and especially to systems and methods for verifying data integrity.
2. Prior Art of Invention
Modem societies have become heavily dependent upon computers. In today's first world, computers are used for everything from financial planning to company payroll systems to aircraft guidance systems. Because of the widespread use of computer systems, data corruption is a problem that can affect almost any individual whether at work or in leisure. The issue of data corruption continues to plague both the computer hardware and computer software industries.
Accordingly, computer systems typically include some form of storage system for storing setting status information and current operation status information. Conventionally, the storage system is a non-volatile random access memory (NVRAM) such as a magnetic random access memory (MRAM), a static random access memory (SRAM), a Flash memory etc. It is customary to store critical information in an NVRAM as a precaution against information loss due to power failure or other unexpected shutdowns. However, because of factors such as electrical noise and failure of the NVRAM itself, it is still possible for vital NVRAM data to be lost. Consequently, there is a need to provide a mechanism for verifying data integrity and correctness when the computer system is started up again.
The art of verifying data integrity and correctness in a computer system is disclosed in publications such as U.S. Pat. No. 6,185,134, issued on Feb. 6, 2001 and entitled “Flash Memory Control Method, Flash Memory System Using the Control Method and Flash Memory Device Using the Control Method.” The patent provides a method for correcting errors of a Flash memory, which comprises the steps of: modifying the data of a group of memory units, each having a plurality of Flash memory cells adapted to erase data therefrom and write data therein; checking for the presence and absence of an error of not properly modifying the data of the group of memory units; and determining the completion of proper modification of the data of the group of memory units, provided that an error is detected and the error can be corrected.
However, the method described in the patent requires the Flash memory to be divided into a plurality of memory cells. The division is very complex, and it takes much time to check the data. What is needed is a system and method for verifying data integrity which can overcome the above-described shortcomings.